From: Carlos Garnacho Date: Fri, 29 May 2020 14:05:57 +0000 (+0200) Subject: padOsd: Only allocate child labels within allocate vfunc X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~684^2^2~335 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=f58cb3406571ffba104a8436c7a32bf4e2da0a52;p=gnome-shell.git padOsd: Only allocate child labels within allocate vfunc Make both start/stop edition and label updates queue a relayout, and only deal with child allocations in the allocate method. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290 --- diff --git a/js/ui/padOsd.js b/js/ui/padOsd.js index 32b0584dd..3e7b7beac 100644 --- a/js/ui/padOsd.js +++ b/js/ui/padOsd.js @@ -592,15 +592,13 @@ var PadDiagram = GObject.registerClass({ let str = getText(action, idx, dir); label.set_text(str); } + + this.queue_relayout(); } _applyLabel(label, action, idx, dir, str) { - if (str != null) { + if (str !== null) label.set_text(str); - - let [found_, x, y, arrangement] = this._getLabelCoords(action, idx, dir); - this._allocateChild(label, x, y, arrangement); - } label.show(); } @@ -620,6 +618,8 @@ var PadDiagram = GObject.registerClass({ this._prevEdited = this._curEdited; this._curEdited = null; } + + this.queue_relayout(); } startEdition(action, idx, dir) { @@ -641,6 +641,7 @@ var PadDiagram = GObject.registerClass({ return; this._editorActor.show(); editedLabel.hide(); + this.queue_relayout(); } });